/**
 * jims
 */
package com.jims.master.modules.doctor.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jims.master.common.persistence.DataEntity;
import org.hibernate.validator.constraints.Length;

import java.util.Date;

/**
 * 病案首页基本信息Entity
 * @author 赵宁
 * @version 2017-03-27
 */
public class PatVisitIndex extends DataEntity<PatVisitIndex> {
	
	private static final long serialVersionUID = 1L;
	private String visitId;		// 住院id
	private String newbornFlg;		// 新生儿标记
	private String name;		// 姓名
	private String inputCode;		// 姓名拼音码
	private String height;		// 身高
	private String weight;		// 体重
	private String sex;		// 性别
	private String age;		// 年龄
	private String nation;		// 名族
	private String marriage;     //婚姻
	private String occupation;     //职业
	private String nationality;		// 国籍
	private Date birthdayDate;		// 生日
	private String nativePlace;		// 籍贯
	private String zipCode;		// 邮编
	private String homeplace;		// 出生地
	private String address;		// 住址
	private String identity;		// 身份
	private String idNo;		// 身份证号
	private String phone;		// 电话
	private String contacts;		// 联系人
	private String contactsAddress;		// 联系人地址
	private String contactsPhone;		// 联系人电话
	private String contactsRelation;		// 联系人关系
	private String unitInContract;		// 合同单位
	private String workContract;        //工作单位
	private String affiliatingArea;     //所属地区
	private String insuranceType;		// 医保类别
	private String insuranceNo;		// 医保卡号
	private String chargeType;		// 费别
	private String externalCause;		// 外部原因
	private String autopsyFlge;		// 是否尸检
	private String practiceDoctor;		// 实习医生
	private String engageDoctor;		// 进修医生
	private String drugAllergy;		// 药品过敏
	private Double paymentAdvice; //建议预交金

    private String residenceNo;//医保住院登记号
	private PatVisit patVisit;

	public String getOccupation() {
		return occupation;
	}

	public void setOccupation(String occupation) {
		this.occupation = occupation;
	}

	public String getMarriage() {
		return marriage;
	}

	public void setMarriage(String marriage) {
		this.marriage = marriage;
	}

	public String getWorkContract() {
		return workContract;
	}

	public void setWorkContract(String workContract) {
		this.workContract = workContract;
	}

	public String getAffiliatingArea() {
		return affiliatingArea;
	}

	public void setAffiliatingArea(String affiliatingArea) {
		this.affiliatingArea = affiliatingArea;
	}

	public PatVisitIndex() {
		super();
	}

	public PatVisitIndex(String id){
		super(id);
	}

    public String getVisitId() {
        return visitId;
    }

    public void setVisitId(String visitId) {
        this.visitId = visitId;
    }

    @Length(min=0, max=1, message="新生儿标记长度必须介于 0 和 1 之间")
	public String getNewbornFlg() {
		return newbornFlg;
	}

	public void setNewbornFlg(String newbornFlg) {
		this.newbornFlg = newbornFlg;
	}
	
	@Length(min=0, max=200, message="姓名长度必须介于 0 和 200 之间")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	@Length(min=0, max=50, message="姓名拼音码长度必须介于 0 和 50 之间")
	public String getInputCode() {
		return inputCode;
	}

	public void setInputCode(String inputCode) {
		this.inputCode = inputCode;
	}
	
	@Length(min=0, max=11, message="身高长度必须介于 0 和 11 之间")
	public String getHeight() {
		return height;
	}

	public void setHeight(String height) {
		this.height = height;
	}
	
	@Length(min=0, max=11, message="体重长度必须介于 0 和 11 之间")
	public String getWeight() {
		return weight;
	}

	public void setWeight(String weight) {
		this.weight = weight;
	}
	
	@Length(min=0, max=1, message="性别长度必须介于 0 和 1 之间")
	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}
	
	@Length(min=0, max=11, message="年龄长度必须介于 0 和 11 之间")
	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}
	
	@Length(min=0, max=1, message="名族长度必须介于 0 和 1 之间")
	public String getNation() {
		return nation;
	}

	public void setNation(String nation) {
		this.nation = nation;
	}
	
	@Length(min=0, max=1, message="国籍长度必须介于 0 和 1 之间")
	public String getNationality() {
		return nationality;
	}

	public void setNationality(String nationality) {
		this.nationality = nationality;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getBirthdayDate() {
		return birthdayDate;
	}

	public void setBirthdayDate(Date birthdayDate) {
		this.birthdayDate = birthdayDate;
	}
	
	@Length(min=0, max=100, message="籍贯长度必须介于 0 和 100 之间")
	public String getNativePlace() {
		return nativePlace;
	}

	public void setNativePlace(String nativePlace) {
		this.nativePlace = nativePlace;
	}
	
	@Length(min=0, max=100, message="邮编长度必须介于 0 和 100 之间")
	public String getZipCode() {
		return zipCode;
	}

	public void setZipCode(String zipCode) {
		this.zipCode = zipCode;
	}
	
	@Length(min=0, max=200, message="出生地长度必须介于 0 和 200 之间")
	public String getHomeplace() {
		return homeplace;
	}

	public void setHomeplace(String homeplace) {
		this.homeplace = homeplace;
	}
	
	@Length(min=0, max=200, message="住址长度必须介于 0 和 200 之间")
	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}
	
	@Length(min=0, max=1, message="身份长度必须介于 0 和 1 之间")
	public String getIdentity() {
		return identity;
	}

	public void setIdentity(String identity) {
		this.identity = identity;
	}
	
	@Length(min=0, max=21, message="身份证号长度必须介于 0 和 21 之间")
	public String getIdNo() {
		return idNo;
	}

	public void setIdNo(String idNo) {
		this.idNo = idNo;
	}
	
	@Length(min=0, max=20, message="电话长度必须介于 0 和 20 之间")
	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}
	
	@Length(min=0, max=200, message="联系人长度必须介于 0 和 200 之间")
	public String getContacts() {
		return contacts;
	}

	public void setContacts(String contacts) {
		this.contacts = contacts;
	}
	
	@Length(min=0, max=200, message="联系人地址长度必须介于 0 和 200 之间")
	public String getContactsAddress() {
		return contactsAddress;
	}

	public void setContactsAddress(String contactsAddress) {
		this.contactsAddress = contactsAddress;
	}
	
	@Length(min=0, max=20, message="联系人电话长度必须介于 0 和 20 之间")
	public String getContactsPhone() {
		return contactsPhone;
	}

	public void setContactsPhone(String contactsPhone) {
		this.contactsPhone = contactsPhone;
	}
	
	@Length(min=0, max=1, message="联系人关系长度必须介于 0 和 1 之间")
	public String getContactsRelation() {
		return contactsRelation;
	}

	public void setContactsRelation(String contactsRelation) {
		this.contactsRelation = contactsRelation;
	}
	
	@Length(min=0, max=200, message="合同单位长度必须介于 0 和 200 之间")
	public String getUnitInContract() {
		return unitInContract;
	}

	public void setUnitInContract(String unitInContract) {
		this.unitInContract = unitInContract;
	}
	
	@Length(min=0, max=1, message="医保类别长度必须介于 0 和 1 之间")
	public String getInsuranceType() {
		return insuranceType;
	}

	public void setInsuranceType(String insuranceType) {
		this.insuranceType = insuranceType;
	}

	@Length(min=0, max=11, message="医保卡号长度必须介于 0 和 11 之间")
	public String getInsuranceNo() {
		return insuranceNo;
	}

	public void setInsuranceNo(String insuranceNo) {
		this.insuranceNo = insuranceNo;
	}
	
	@Length(min=0, max=1, message="费别长度必须介于 0 和 1 之间")
	public String getChargeType() {
		return chargeType;
	}

	public void setChargeType(String chargeType) {
		this.chargeType = chargeType;
	}
	
	@Length(min=0, max=1, message="外部原因长度必须介于 0 和 1 之间")
	public String getExternalCause() {
		return externalCause;
	}

	public void setExternalCause(String externalCause) {
		this.externalCause = externalCause;
	}
	
	@Length(min=0, max=1, message="是否尸检长度必须介于 0 和 1 之间")
	public String getAutopsyFlge() {
		return autopsyFlge;
	}

	public void setAutopsyFlge(String autopsyFlge) {
		this.autopsyFlge = autopsyFlge;
	}
	
	@Length(min=0, max=64, message="实习医生长度必须介于 0 和 64 之间")
	public String getPracticeDoctor() {
		return practiceDoctor;
	}

	public void setPracticeDoctor(String practiceDoctor) {
		this.practiceDoctor = practiceDoctor;
	}
	
	@Length(min=0, max=64, message="进修医生长度必须介于 0 和 64 之间")
	public String getEngageDoctor() {
		return engageDoctor;
	}

	public void setEngageDoctor(String engageDoctor) {
		this.engageDoctor = engageDoctor;
	}
	
	public String getDrugAllergy() {
		return drugAllergy;
	}

	public void setDrugAllergy(String drugAllergy) {
		this.drugAllergy = drugAllergy;
	}
	

	public Double getPaymentAdvice() {
		return paymentAdvice;
	}

	public void setPaymentAdvice(Double paymentAdvice) {
		this.paymentAdvice = paymentAdvice;
	}

	public PatVisit getPatVisit() {
		return patVisit;
	}

	public void setPatVisit(PatVisit patVisit) {
		this.patVisit = patVisit;
	}

    public String getResidenceNo() {
        return residenceNo;
    }

    public void setResidenceNo(String residenceNo) {
        this.residenceNo = residenceNo;
    }
}